Applications are developed for a variety of different types of computing devices. For example, an application may be developed for a smart phone, a tablet, or some other type of computing device. These different types of computing devices may have different native screen resolutions. Some computing devices have higher screen resolutions while other computing devices have lower screen resolutions.
Applications that look good to a user on one computing device do not always look good to the user on another computing device that has a higher screen resolution. For example, an application that is developed for a smart phone that has a lower screen resolution may not look very good when the application is run on a tablet having a higher screen resolution.
In order to address this issue, the displayed output of an application may be “stretched” to fit the higher screen resolution. Stretching the displayed output of the application to fill a screen having a higher screen resolution may result in a display that does not look very good to a user. For example, the displayed output may be blurry or include other types of undesirable artifacts.
In some cases, the displayed output of an application may not even fill the entire screen when executing on a computing device having a higher screen resolution. For example, the application may use just a portion of the screen. The portion of the screen that is not used by the application may, therefore, be empty or filled with a background image. This arrangement may be visually unappealing or even confusing to a user.
Determining if an application supports different resolutions can, however, be difficult. For example, certain mechanisms, such as static program analysis, may be unable to reliably determine whether an application provides non-blurry output a specific resolution.
The disclosure made herein is presented with respect to these and other considerations.